1. Field of the Invention
This invention relates to synchronizing dual controllers in a cache memory system having two cache modules. More particularly, the invention relates to synchronizing the controllers whereby the controllers may control mirror and non-mirror writes to the cache modules and preventing one controller from improperly accessing a cache module under control of the other controller.
2. Description of Related Art
To date, cache memory systems where there is a mirror write operation have used two separate memory caches and written the data word, or block, first in one cache, read it from that cache and mirror-written it to the second cache. The advantage of writing a data word to two separate cache modules is the greatly enhanced reliability of the cache memory system. Such a mirror cache system carries the penalty, of course, that if each word unit is written twice, the capacity of the cache memory system is effectively cut in half.
There may be situations where the mirroring of data in two cache modules is not required. For example, if the data is only to be read, it is not necessary to write such data from main memory to two cache modules. This is true because if the data is lost from the cache module where it is written, it may be recovered from main memory. Also, users of the system may opt to have greater cache capacity rather than to mirror write data in two cache modules. Accordingly it is desirable to operate in both a mirror cache mode and a non-mirror cache mode in a dual cache module system.
In a dual controller, dual cache system there is a need to control the access of each controller to each cache module. It is important to prevent one controller from accessing the cache modules improperly if the controller malfunctions. Further, the control functions are needed in both a mirror cache mode and a non-mirror cache mode.